home *** CD-ROM | disk | FTP | other *** search
/ Developer CD Series 1996 February: Tool Chest / Apple Developer CD Series Tool Chest February 1996 (Apple Computer)(1996).iso / Tool Chest / Development Tools & Languages / Macintosh Common Lisp Related / interfaces / PInterface Translator / PInterfaces / Power.p < prev    next >
Encoding:
Text File  |  1993-09-16  |  2.4 KB  |  126 lines  |  [TEXT/MPS ]

  1. {
  2. Created: Sunday, January 6, 1991 at 10:54 PM
  3.     Power.p
  4.     Pascal Interface to the Macintosh Libraries
  5.  
  6.         Copyright Apple Computer, Inc.    1989-1990
  7.         All rights reserved
  8. }
  9.  
  10.  
  11. {$IFC UNDEFINED UsingIncludes}
  12. {$SETC UsingIncludes := 0}
  13. {$ENDC}
  14.  
  15. {$IFC NOT UsingIncludes}
  16.     UNIT Power;
  17.     INTERFACE
  18. {$ENDC}
  19.  
  20. {$IFC UNDEFINED UsingPower}
  21. {$SETC UsingPower := 1}
  22.  
  23. {$I+}
  24. {$SETC PowerIncludes := UsingIncludes}
  25. {$SETC UsingIncludes := 1}
  26. {$IFC UNDEFINED UsingTypes}
  27. {$I $$Shell(PInterfaces)Types.p}
  28. {$ENDC}
  29. {$SETC UsingIncludes := PowerIncludes}
  30.  
  31. CONST
  32.  
  33. { Bit positions for ModemByte }
  34. modemOnBit = 0;
  35. ringWakeUpBit = 2;
  36. modemInstalledBit = 3;
  37. ringDetectBit = 4;
  38. modemOnHookBit = 5;
  39.  
  40. { masks for ModemByte }
  41. modemOnMask = $1;
  42. ringWakeUpMask = $4;
  43. modemInstalledMask = $8;
  44. ringDetectMask = $10;
  45. modemOnHookMask = $20;
  46.  
  47. { bit positions for BatteryByte }
  48. chargerConnBit = 0;
  49. hiChargeBit = 1;
  50. chargeOverFlowBit = 2;
  51. batteryDeadBit = 3;
  52. batteryLowBit = 4;
  53. connChangedBit = 5;
  54.  
  55. { masks for BatteryByte }
  56. chargerConnMask = $1;
  57. hiChargeMask = $2;
  58. chargeOverFlowMask = $4;
  59. batteryDeadMask = $8;
  60. batteryLowMask = $10;
  61. connChangedMask = $20;
  62.  
  63. { commands to SleepQRec sleepQProc }
  64. sleepRequest = 1;
  65. sleepDemand = 2;
  66. sleepWakeUp = 3;
  67. sleepRevoke = 4;
  68.  
  69. { SleepQRec.sleepQFlags }
  70. noCalls = 1;
  71. noRequest = 2;
  72.  
  73. slpQType = 16;
  74. sleepQType = 16;
  75.  
  76. TYPE
  77. ModemByte = Byte; 
  78. BatteryByte = Byte; 
  79.  
  80. PMResultCode = LONGINT;
  81.  
  82. SleepQRecPtr = ^SleepQRec;
  83. SleepQRec = RECORD
  84.     sleepQLink: SleepQRecPtr;
  85.     sleepQType: INTEGER;    {type = 16}
  86.     sleepQProc: ProcPtr;    {Pointer to sleep routine}
  87.     sleepQFlags: INTEGER;
  88.     END;
  89.  
  90.  
  91. FUNCTION DisableWUTime: OSErr;
  92. FUNCTION GetWUTime(VAR WUTime: LONGINT;VAR WUFlag: Byte): OSErr;
  93. FUNCTION SetWUTime(WUTime: LONGINT): OSErr;
  94. FUNCTION BatteryStatus(VAR Status: Byte;VAR Power: Byte): OSErr;
  95. FUNCTION ModemStatus(VAR Status: Byte): OSErr;
  96. FUNCTION IdleUpdate: LONGINT;
  97.     INLINE $A285,$2E80;
  98. FUNCTION GetCPUSpeed: LONGINT;
  99.     INLINE $70FF,$A485,$2E80;
  100. PROCEDURE EnableIdle;
  101.     INLINE $7000,$A485;
  102. PROCEDURE DisableIdle;
  103.     INLINE $7001,$A485;
  104. PROCEDURE SleepQInstall(qRecPtr: SleepQRecPtr);
  105.     INLINE $205F,$A28A;
  106. PROCEDURE SleepQRemove(qRecPtr: SleepQRecPtr);
  107.     INLINE $205F,$A48A;
  108. PROCEDURE AOn;
  109.     INLINE $7004,$A685;
  110. PROCEDURE AOnIgnoreModem;
  111.     INLINE $7005,$A685;
  112. PROCEDURE BOn;
  113.     INLINE $7000,$A685;
  114. PROCEDURE AOff;
  115.     INLINE $7084,$A685;
  116. PROCEDURE BOff;
  117.     INLINE $7080,$A685;
  118.  
  119.  
  120. {$ENDC}    { UsingPower }
  121.  
  122. {$IFC NOT UsingIncludes}
  123.     END.
  124. {$ENDC}
  125.  
  126.